Without limiting the scope of the invention, its background is described in connection with windowed operating systems such as the Microsoft Windows or IBM 0S/2. It should be understood that the principles disclosed may be implemented in any computing environment where access to multiple applications is provided using a single user interface.
Graphical User Interfaces ("GUIs") have replaced command line and other primitive interfaces as a way of performing most common tasks on many of today's computing platforms. The computing platforms may vary but most offer common features such as a display, disk drive, memory and processing means, keyboard and other standard device components. Examples include workstations, desktop and notebook computers, dedicated terminals, file servers and other similar computing systems.
With most modern GUIs, application tasks and system controls are made accessible to the user via objects on the GUI display. The display can be a terminal such as a liquid crystal display, cathode ray tube or other similar display means. The objects may appear as icons, windows, items in a list or other graphical representation symbolically linked to an underlying program, task or function. To invoke the application, task or function, a user can focus on the object with a mouse or keyboard to select the object resulting in the execution of the underlying application, task or function. An application may contain many objects of its user interface.
Often, a user desires to have many applications open at a single time on the desktop workspace. This allows for quick navigation through several applications as well as more efficient transfer of information between applications. As the number of active applications increases, however, the ease with which a user moves from one application to the next is reduced. Excess navigation is required for overlapped windows and finding windows which are overlapped.
Over time a particular user may find himself performing common or tedious tasks using the same set of core applications. For example, the user may employ a spreadsheet program, database program and wordprocessor to create a weekly or monthly report. For each program, the user may size, resize, minimize, maximize, drag, focus, move or otherwise manipulate the program objects on the GUI. This process of overlapping windows and repositioning them is a common task performed by users who are making room for working with other objects on the GUI. Sometimes, users wish to transfer files and information from two or more applications into a single application.
Still other tasks, operations and functions may be performed by a user often on a nonperiodic basis. In performing these common tasks and functions, a user spends a significant amount of time navigating through the GUI and manipulating the objects for the sole purpose of finding applications which are being used at the same time as other applications.
A prior art method of navigating and arranging the various application objects involves the use of a keystroke sequence which toggles through the active application objects on the desktop GUI. For example, in a windowed environment, a user may depress the "Alt-Tab" keystroke sequence as a toggle through active application objects. Each time the user depresses the keystroke sequence an application is focused on and brought to the forefront of the desktop window permitting the user to view, copy, print, save, delete, cut, paste, select, scroll, size or otherwise manipulate the information in that window.
Once the user is finished with one application object, he or she depresses the keystroke sequence to focus on the next application object. The next application object may be useful to the user or the user may need to navigate to the next active application object in order to accomplish a given task. Since the sequence is not tied to a particular group or order of applications, applications (objects thereof) are focused on in the order in which they have been activated on the desktop. This process, therefore, consumes time in navigating through the desired applications objects in order to achieve a desired task or function.
Accordingly, a system and method that conveniently manages objects on the desktop GUI, particularly when working with a plurality of active applications, would save time and provide numerous advantages over the prior art.